1. Field of the Invention
This invention relates to disk drive systems having headerless data sector architectures.
2. Description of Related Art
Conventional disk dive systems (hard disks) store data in concentric tracks on one or more disks of a magnetic media. Read/write heads, one for each surface of the magnetic media, read and write data sectors in the tracks. To read or write a data sector, the disk drive system radially positions one of the read/write heads over a target track. Embedded servo sectors in the tracks contain fields which identify the radial position of the read/write heads. Conventional disk drives determine the angular position of the read/write heads from marks in the tracks.
A data frame is a writable area between two servo sectors. Depending on the media, disk rotational speed, and data sector size, a data frame may contain multiple data sectors, or one data sector may span multiple data frames. In either case, servo sectors can split a data sector into two or more data segments. Typically, a header in a data sector on the media provides information which identifies the data sector, indicates locations (if any) of splits in the data sector, and indicates whether the data sector is valid or defective.
A headerless disk architecture identifies data sectors without data sector headers. Removing headers from the data sectors increases the space available for data storage but complicates identification of data sectors, splits, and defects. A disk controller in the disk drive system must obtain format information from sources other than an on-disk header and must synchronize the information with the position of the read/write heads relative to the media. Storing detailed format information in-a memory such as a data buffer typically requires a large amount of memory, especially if formats differ track to track because of defects. Selecting format information for the position of a read/write head can occupy a considerable fraction of the processing time of a microprocessor in the disk drive system. A more expensive microprocessor is often required to permit real time selection of format information during read and write operations.
Typically, alignment of format information requires that a servo control unit detect where data sectors start and generate a signal containing data sector pulses that indicate when a read/write head reaches a data sector. This makes servo control units more complex. Additionally, the track formats must include inter-sector gaps with sufficient length for the servo control unit to generate a data sector pulse and the disk controller to sense the data sector pulse within the time in which an inter-sector gap passes under a read/write head.
In accordance with an embodiment of the invention, data transfer to or from a headerless track on a disk is performed by: determining an event-count which depends on the sizes of one or more fields following the end of the servo sector; generating a first signal, such as an EOS pulse, which indicates when a read/write head passes the servo sector; counting pulses of a clock signal, which follow the first signal; and beginning data transfer in response to a count of the pulses reaching the event-count. Typically, a table of control words in a memory indicates a format for the track, and the event-count are derived from the control words.
For a read, the event-count is increased by an amount which accounts for expected variations in a time required to generate, detect, and process an EOS pulse. This ensures that the read/write head has reached or passed the beginning of a data segment before the event-count is reached. After the event-count, a disk controller asserts a read gate, searches for a data synchronization field, and then reads data following the data synchronization field. A control word in the table indicates the amount of data read after the data synchronization field.
For a write, data transfer begins by writing a VFO field immediately after the count of pulses reaches the event-count. The remaining frame fields for a data segment follow according to a predetermined order. The length and values for the frame fields are indicated by the control words of the table, values in registers, or data in a data buffer. In one embodiment, the event-count is the sum of a series of field event-counts, each corresponding to a different frame field. The field event-counts are loaded into one or more counters
where a first field event-count decrements to zero before a second event-count begins decrementing.
In an alternative write process, a data buffer contains a sequence of bytes which are used to fill an entire data frame. The bytes include values corresponding to: data fields; and overhead fields such as VFO fields, training fields, data sync fields, and pad fields. An event-count, equal to the number of bytes written in the data frame, indicates the end of a data frame and the start of a servo sector. The data frame format allows a data frame to contain a single VFO, data sync field, and data field.